The entire documents of Japanese patent application No. 2008-275345 filed on Oct. 27, 2008, which include the specification, drawings, and scope of claims, are incorporated herein by reference.
A conventional standard technology for coding moving image data is MPEG-4 Part 10: Advanced Video Coding (abbreviated as MPEG-4 AVC) defined by ISO/IEC JTC1 MPEG (Moving Picture Experts Groups). According to MPEG-4 AVC, one of 4×4 pixel block and 8×8 pixel block is suitably selected as a basic block size in orthogonal transform. The orthogonal transform per 4×4 pixels is characterized in that an extent of impact from quantization-induced noise is limited, whereas the orthogonal transform per 8×8 pixels is broadly affected by the noise though a complicated pattern of irregularity is thereby easily reproduced. When the orthogonal transform size is flexibly chosen depending on what an image represents for each of processing blocks, improvements can be expected in a coding efficiency and deterioration of an image quality in the image coding.
The Patent Document 1 discloses the quality improvement of block images including, for example, a character image such as a captioned image by flexibly changing the orthogonal transform size. When the block images including the character image, in which a pixel value variation has many sharp edges, are coded, mosquito noise is easily generated. To improve the image quality, the invention disclosed in the Patent Document 1 narrows an area where mosquito noise is diffusive by selecting the orthogonal transform per 4×4 pixels for the block images including the character image so that mosquito noise is less visually recognizable. The Patent Document 1, however, only discloses that the edge detection is a technique for selecting the orthogonal transform size, failing to describe in detail any specific embodiment of the selection technique.
The invention disclosed in the Patent Document 2 employs the edge detection to select the orthogonal transform size. FIG. 10 is a flow of processing steps for selecting the orthogonal transform size disclosed in the Patent Document 2. The processing steps for selecting the orthogonal transform size include an edge detection step S91 in which an edge of a processing target block is detected, an edge decision step S92 in which whether there is an edge in the processing target block is decided based on a detection result, a 4×4 pixel orthogonal transform selection step S93 in which the orthogonal transform per 4×4 pixels is selected after deciding that there is an edge, and an 8×8 pixel orthogonal transform selection step S94 in which the orthogonal transform per 8×8 pixels is selected after deciding that there is no edge.
FIG. 11 is an illustration of block images where the orthogonal transform per 4×4 pixels is selected when the orthogonal transform size selection technique disclosed in the Patent Document 2 is applied to images including a character image such as a captioned image. It is known from the illustration that the orthogonal transform per 4×4 pixels is selected in block images including character images (squares enclosed by solid lines).
The method disclosed in the Patent Document 2 has such a disadvantage that a coding volume significantly increases in the block images subjected to the orthogonal transform per 4×4 pixels in the case where a target block image has an intra prediction mode for intra-frame prediction. The coding volume of the block for which the orthogonal transform per 4×4 pixels is selected is thus increased because the intra-prediction block size changes depending on the orthogonal transform size. The disadvantage is described below.
Though the intra prediction is performed per 8×8 pixels in the orthogonal transform size of 8×8 pixels, the intra prediction is performed per 4×4 pixels or 16×16 pixels in the orthogonal transform size of 4×4 pixels.
The intra prediction per 8×8 pixels is performed in four 8×8 pixel blocks in a 16×16 pixel macro block, and the intra prediction modes of the four blocks are coded and stored in a macro block header region of an output bit stream after the image is coded.
In contrast, the intra prediction per 4×4 pixels is performed in 16 4×4 pixel blocks in the 16×16 pixel macro block, and the intra prediction modes of the 16 blocks are coded and stored in the macro block header region of the output bit stream after the image is coded. Thus, there are more intra prediction modes to be stored in the macro block header region, resulting in a great increase of the coding volume as compared to the intra prediction per 8×8 pixels.